🎖️GitЯра🎖️
Commit cea2c3a015c2c3227f13a3ac9bc4e13c35bbd4ee
Parents : ae7eaa6
Author : James Rich <2199651+jamesarich@users.noreply.github.com>
Signature : Signature validation error
Date : 2026-08-16T07:45:38Z
Committer : GitHub <noreply@github.com>
Date : 2026-08-16T07:45:38Z
fix(ui): request HIGH error correction for generated QR codes (#6730)
Changes
1 files changed, 5 insertions(+), 1 deletions(-)
Diff
diff --git a/core/ui/src/commonMain/kotlin/org/meshtastic/core/ui/util/QrUtils.kt b/core/ui/src/commonMain/kotlin/org/meshtastic/core/ui/util/QrUtils.kt
index 278c96a409..b0f53993d9 100644
--- a/core/ui/src/commonMain/kotlin/org/meshtastic/core/ui/util/QrUtils.kt
+++ b/core/ui/src/commonMain/kotlin/org/meshtastic/core/ui/util/QrUtils.kt
@@ -27,6 +27,7 @@ import androidx.compose.ui.graphics.painter.Painter
import androidx.compose.ui.unit.Density
import androidx.compose.ui.unit.LayoutDirection
import qrcode.QRCode
+import qrcode.raw.ErrorCorrectionLevel
/**
* Generates a QR code painter directly using the Skia/Compose canvas API in pure Kotlin.
@@ -37,7 +38,10 @@ import qrcode.QRCode
@Suppress("MagicNumber")
@Composable
fun rememberQrCodePainter(text: String, size: Int = 512): Painter {
- val qrCode = androidx.compose.runtime.remember(text) { QRCode.ofSquares().build(text) }
+ val qrCode =
+ androidx.compose.runtime.remember(text) {
+ QRCode.ofSquares().withErrorCorrectionLevel(ErrorCorrectionLevel.HIGH).build(text)
+ }
val rawMatrix = androidx.compose.runtime.remember(qrCode) { qrCode.rawData }
val matrixSize = androidx.compose.runtime.remember(qrCode) { rawMatrix.size }
val quietZone = 4 // QR standard quiet zone is 4 modules on all sides
Served by rngit 1.5.0 - Generated in 0.05s